Conventional static web browsing allows users to navigate between static web pages to view new content. Asynchronous JavaScript and XML (Ajax) applications execute within a browser window to display a dynamic web page that loads new content updates without loading entirely new web pages. As a user navigates within a dynamic web page, an Ajax application causes a new view port or window to be viewable in order to display new content updates within the dynamic web page. User interaction within the web page sometimes results in asynchronous requests for content updates being sent to a remote source, such as an Internet web server. The requests are asynchronous because the Ajax application allows the user to interact with the dynamic web page while the Ajax application receives and displays the content updates onto the dynamic web page.
Out-of-order Ajax responses may result in “broken” web pages, where content update is displayed in the wrong location. There have been some attempts to solve the problem of out-of-order Ajax responses. For example, serializing the Ajax responses enables the Ajax application to track the order of Ajax requests, and to display content updates associated with Ajax responses in the precise order in which they were requested.